#ifndef EGG_MESHENTITY_H
#define EGG_MESHENTITY_H

#include "Entity3D.h"
#include "Material.h"
#include "Geometry.h"

namespace egg{

    class MeshEntity : public Entity3D{
    public:
        MeshEntity();
        void setMaterial(MaterialPtr mat);
        void setGeometry(GeometryPtr geo);
        void onAttached(SceneNode* node);
        void _draw(const FrameEvent& evt);
        RenderPriority getPriority();

        inline const MaterialPtr& getMaterial(){
            return mMaterial;
        }
        inline const GeometryPtr& getGeometry(){
            return mGeometry;
        }
    protected:
        GeometryPtr mGeometry;
        MaterialPtr mMaterial;
        ShaderParamMap mParamMap;

    };

}

#endif